import { ref } from "vue";
import { useStore } from "vuex";

/**
 * 修改密码请求
 * @returns { handleChangePassword, formData, isLoading }
 */
export function useChangePassword(passwordChangeMsg) {

    const isLoading = ref(false); // 加载状态

    const store = useStore(); // 获取 Vuex Store 实例

    // 处理修改密码
    const handleChangePassword = async () => {
        isLoading.value = true; // 设置加载状态为 true

        try {
            // 调用 Vuex 中的 changePassword action
            const response = await store.dispatch("changePassword", passwordChangeMsg.value);
            if (response.success) {
                alert("密码修改成功");
            } else {
                alert(response.message || "密码修改失败");
            }
        } catch (error) {
            console.error("修改失败:", error);
            alert("密码修改失败，请检查网络或稍后再试");
        } finally {
            isLoading.value = false; // 重置加载状态
        }
    };

    // 返回封装的响应式变量和方法
    return {
        handleChangePassword,
        isLoading,
    };
}
